/**
 * @file lcd_drive_rule.h
 * @author cangyu (sky.kirto@qq.com)
 * @brief
 * @version 0.1
 * @date 2024-09-02
 *
 * @copyright Copyright (c) 2024, CorAL. All rights reserved.
 *
 */

/* ==================== [Includes] ========================================== */

#ifdef __cplusplus
extern "C" {
#endif

/* ==================== [Defines] =========================================== */

#ifdef LCD_REG
#undef LCD_REG
#endif

#ifdef LCD_REG_ENUM
#define LCD_REG(name)        SCR_CONTROLLER_##name,
#endif

#ifdef LCD_REG_EXTERN
#define LCD_REG(name)        extern void lcd_##name##_vfunc_register(void);
#endif

#ifdef LCD_REG_FUNCTION
#define LCD_REG(name)        lcd_##name##_vfunc_register();
#endif

#undef LCD_REG_ENUM
#undef LCD_REG_EXTERN
#undef LCD_REG_FUNCTION

/* ==================== [Typedefs] ========================================== */

/* ==================== [Global Prototypes] ================================= */

/* ==================== [Macros] ============================================ */

#include "controller_driver/controller_driver.inc"

#ifdef __cplusplus
} /* extern "C" */
#endif
